package cc.rengu.igas.momp.facade;

import cc.rengu.igas.momp.facade.request.*;
import cc.rengu.igas.momp.facade.response.*;
import cc.rengu.igas.momp.facade.result.Result;

/**
 * @author Jinan Liu
 * @date 2020/3/11 23:37
 * @description 统计数据查询类接口
 */
public interface QueryStatisticsService {

    /**
     * 银行对客类营销活动统计报表
     *
     * @param queryBankToClientMcStatRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryBankToClientMcStatResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:04
     */
    Result<QueryBankToClientMcStatResponse> queryBankToClientMcStat(QueryBankToClientMcStatRequest queryBankToClientMcStatRequest);

    /**
     * 商户对客类营销活动统计报表
     *
     * @param queryMchntToClientMcStatRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryMchntToClientMcStatResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:04
     */
    Result<QueryMchntToClientMcStatResponse> queryMchntToClientMcStat(QueryMchntToClientMcStatRequest queryMchntToClientMcStatRequest);

    /**
     * 商户手续费优惠信息统计报表
     *
     * @param queryMchnFeeDiscountDetailRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryMchnFeeDiscountDetailResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:05
     */
    Result<QueryMchnFeeDiscountDetailResponse> queryMchnFeeDiscountDetail(QueryMchnFeeDiscountDetailRequest queryMchnFeeDiscountDetailRequest);

    /**
     * 收银员返现明细查询
     *
     * @param queryCashbackToCashierDetailRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryCashbackToCashierDetailResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2020/3/28 19:05
     */
    Result<QueryCashbackToCashierDetailResponse> queryCashbackToCashierDetail(QueryCashbackToCashierDetailRequest queryCashbackToCashierDetailRequest);

    /**
     * 查询当前周期商户可优惠额度 剩余可优惠额度 已使用优惠额度
     *
     * @param queryMchntFeeDiscountLimitRequest
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryMchntFeeDiscountLimitResponse>
     * @throws Exception 异常信息
     * @author Jinan Liu
     * @date 2021/8/15 19:05
     */
    Result<QueryMchntFeeDiscountLimitResponse> queryMchntFeeDiscountLimit(QueryMchntFeeDiscountLimitRequest queryMchntFeeDiscountLimitRequest);
}
